home *** CD-ROM | disk | FTP | other *** search
/ C/C++ 3D Game Tools / C-C++ 3D Game Tools.iso / tools / ntech.doc < prev    next >
Text File  |  1997-02-25  |  11KB  |  247 lines

  1.  
  2. NANOTECH -- VERSION 2.6 -- BY SEAN LANE FULLER
  3. a first-person textured 3d platform game with source code.
  4.  
  5. ------------------------------ THE STORY ---------------------------------
  6.  
  7.   The people of Earth have been at peace for many years ... a peace
  8. ensured by a superpowerful spacestation that is controlled by an
  9. advanced artificial intelligence.  The peace may shortly end because
  10. the space stations computers have become infected with a virus and
  11. it is now threatening several major superpowers.  Their only hope
  12. is a remotely controlled nanobot that has been lying dormant within
  13. the space station's computer.  You must pilot the nanobot to the
  14. computer's central core and destroy the virus.
  15.  
  16. ------------------------- SYSTEM REQUIREMENTS ----------------------------
  17.  
  18. IBM PC Compatable >= 33 Mhz 486DX
  19. DOS >=5.0
  20. >=4Mb
  21. >=1.5 MB Disk
  22. >=VGA graphics
  23. Soundblaster compatable sound board optional
  24.  
  25. ------------------------  STANDARD DISCLAIMER  ----------------------------
  26.  
  27. In no event will the author be liable for any damages, including any lost
  28. profits, lost savings or other incidental or consequential loss or damages
  29. arising out of the use or of the inability to use this program -- even if
  30. the author has been advised of the possibility of such damages.  The author
  31. will in no event be held liable for direct, indirect, or incidental damages
  32. resulting from the omission of any part of this product, including this
  33. document.  The author makes no warranties, either expressed or implied,
  34. respecting the software, its quality, performance, merchantability, or
  35. fitness for any particular purpose.
  36.  
  37. "NanoTech" is copyright Sean Lane Fuller 1995.
  38.  
  39. "NanoTech" is freeware in the public domain and may be distributed
  40. freely following the GNU Public License and the following
  41. if all of the following rules are applied:
  42.  
  43.    1. No fees are to be collected from the distribution or use of this
  44.       software, except for reasonable shipping and handling.
  45.    2. The program and associated files may be distributed in a
  46.       modified form as long as credit is given to Sean Lane Fuller
  47.       in the distribution.
  48.    3. If "NanoTech" or a modified version of it is distributed
  49.       in CDROM or floppy disk format for profit, you are required
  50.       to send a free copy to me.
  51.  
  52. ---------------------------  CONTACT INFORMATION -------------------------
  53.  
  54. Sean Lane Fuller
  55. 124 Autumn Lane
  56. Tullahoma, TN 37388
  57. 615-393-4550
  58.  
  59. email: fuller@edge.net
  60. web  : http://edge.edge.net/~fuller/
  61.  
  62. If there are any oversights or errors in the documentation or any part of
  63. this game please feel free to let me know.
  64.  
  65. If you have the time please send me a postcard.  I'm not working for
  66. money, only for the enjoyment of others.  A postcard would let me know
  67. that I should continue to write games like NanoTech and give me a
  68. nice feeling about it.  Thanks!
  69.  
  70. I welcome constructive criticism and comments.
  71.  
  72. ----------------------------  RELEASE NOTES  ------------------------------
  73. Release 2.6 - October, 1996 - fixed 486 problem, 256x256 textures,
  74. fixed texture overflow problem (with slight speed sacrifice)
  75.  
  76. Release 2.5 - September, 1996 - faster, cleaned up a bit,
  77. added GPL comments, now releasing it with source code for
  78. everything but the sound.
  79.  
  80. Release 2.4 - September, 1996 - faster (floor drawing is twice as fast),
  81. removed tunnel, support for medium (640x400) and high (1024x768) resolution,
  82. better textures, all texture mapping now perspective corrected.
  83.  
  84. Release 2.3 - September, 1996 - faster, better tunnel, -fastest, -edit,
  85. a few map changes
  86.  
  87. Release 2.2 - July, 1996 - A few fixes, better tunnel,
  88. -nosound, -nomusic, -tunnel, -nostars, -notextures
  89.  
  90. Release 2.0 - July, 1996 - Finally got perspective correct texture
  91. mapping, a background, using Varmit Audio Tools, using dos4gw,
  92. switched to watcom compiler
  93.  
  94. Release 1.0 - November, 1995 - I'm finally going to release the game.
  95. I believe it still needs work (and more levels), but it is quite playable.
  96. I feel pretty good about switching to MOD music.  Faster.  I sure wish
  97. I had a Watcom compiler (for inlining assembler routines and optimization).
  98.  
  99. Release 0.x - July, 1995 -  Never saw the light of day and was only used
  100. for beta testing on a few different machines.  It used MIDI music, which
  101. didn't work well for me.  Used mode X graphics.
  102.  
  103. -----------------------------  INSTRUCTIONS --------------------------------
  104.  
  105. Uncompress the game into a new directory (ex: c:\ntech).  Then cd to
  106. that directory and type "ntech" and then press <enter>.  If you want
  107. to quit the game press <escape>.  If you want to restart on a level
  108. then type ntech followed by the level you want to start on (ex: "ntech 5").
  109. Give yourself a while to get the timing right to jump between platforms
  110. in 3d.  You can also use -nosound and -nomusic if you don't have a
  111. Sound Blaster compatible sound card, if you are having trouble, or
  112. if you are on a slower computer.  If you want, you can also use -nostars
  113. to make it even faster.  And, last but not least, you can turn off
  114. textures using -notextures to increase the speed even more.  If you
  115. have a really fast computer, then you can use the -mediumres, or
  116. the -highres options.  These options put the game in 640x400, and
  117. 1024x768 modes respectively.  You must have super VGA to use these modes.
  118.  
  119. so, on a slow computer use:
  120.       ntech -fastest
  121.  
  122. on a computer with no sound card use:
  123.       ntech -nosound
  124.  
  125. on a 133 MHz pentium with a sound card use:
  126.       ntech -highres
  127.  
  128. Controls:      F1 ............ display help screen
  129.                up arrow ...... move forward
  130.                down arrow .... move backward
  131.                left arrow .... turn left
  132.                right arrow ... turn right
  133.                page up ....... look up
  134.                page down ..... look down
  135.                spacebar ...... jump
  136.                escape ........ quit to DOS
  137.                o ............. options toggle menu
  138.  
  139. Instructions:  Try to collide with the spinning sphere to exit a level.  The
  140.                cubes are switches and landing on one will toggle platforms.
  141.                The objective is just to get through all the levels.
  142.                You cannot die.  There is no time limit.  The goal is
  143.                just to have fun!
  144.  
  145. ------------------------ CREATING YOUR OWN LEVELS ---------------------------
  146.  
  147. The game has a built-in level editor if you start it with the -edit option
  148. followed by a level number (for ex: ntech -edit 4).  This will automatically
  149. set -nosound, -nostars, and -nointro.  It also disables spacebar as
  150. the jump key.  Instead you use the u key to move up and the d key
  151. to move down.  And it also disables collision detection.  To toggle collision
  152. detection and gravity when in editing mode use the g key.
  153.  
  154. Pressing 'a' will let you add objects and pressing <tab> will allow you
  155. to modify the object in front of you.
  156.  
  157. To create a new level start with a world file like 000.wld and copy
  158. it to a new level number like 999.wld then start nanotech with
  159. "ntech 999" to go directly to that level.  To insert the level in the
  160. game you will have to renumber the files by renaming them and then
  161. rename your new level to a number you opened up.  This kind of sucks,
  162. but it is the way I created the game.  Its a lot easier to just add
  163. it as a level number 1 higher than the ones that come with the game.
  164.  
  165. The name of the song that will be played during the level is on the
  166. second line of the .wld file.
  167.  
  168. If the first line of the .wld file starts with a 'b' then the lighting
  169. will fade on and off in the level.
  170.  
  171. Pressing 'l' will bring up a dynamic location and frames per second
  172. display.  Pressing 'c' will bring up a directional compass.
  173. Pressing 'i' will display statistics such as the number of facets
  174. and objects and the current level.
  175.  
  176. The background and ending pictures are stored in 256 color 320x200 PCX format.
  177. Use an editor like PC Paintbrush to edit the PCX files.  I started by
  178. rendering with the POV ray tracer.
  179.  
  180. The music is stored in MOD or ST3 format.  You can use a tracker like
  181. Scream Tracker 3 to edit the music and DigiPlayer to edit the samples.
  182.  
  183. The sound effects are stored in WAV format without compression at
  184. 8000 samples per second.  I used wrec that was included with my Sound
  185. Blaster to create these files.  I also dynamically add echo to them
  186. during the game.
  187.  
  188. ------------------------------ COMPILING ----------------------------------
  189.  
  190. The code was written using Watcom C++ 10.6.  You will also need
  191. to get a copy of Varmint's Audio Tools by Eric Jorgensen & Bryan Wilkins.
  192. You will need the PMODE version of their library.
  193.  
  194. -------------------------------- CREDITS ----------------------------------
  195.  
  196. I learned a lot of 3d graphics concepts from "High-resolution Computer
  197. Graphics Using C" by Ian O. Angell.  I also played around a lot with Rend386
  198. and XSharp several years ago.  They both taught me a lot about speeding up
  199. my graphics routines.  XSharp was published in Dr. Dobbs Journal
  200. by Michael Abrash (I think), and Rend386 was written by Dave Stampe
  201. and Bernie Roehl.  I also used the concept of an S buffer from
  202. Michael Abrash.  I read about it in a description of the algorithms
  203. used in Quake and found some sample code on the web.
  204.  
  205. Thanks to the participants in comp.graphics.algorithms,
  206. comp.sys.ibm.pc.demos, and rec.games.programmer.
  207.  
  208. Thanks to John DiCamillo for his wonderful tale of writing a 3d first
  209. person perspective game engine and level editor.
  210.  
  211. Thanks to Sami Tammilehto for writing DigiPlayer and Scream Tracker.
  212. Thanks to the POV-Ray team (Chris Young, coordinator).
  213.  
  214. I got my disclaimer from a game called Board War.  It was written
  215. by a friend of mine, Mike Cozart.  His war simulation game is
  216. pretty cool.  Take a look at it (BWxx.ZIP) if you get a chance.
  217.  
  218. I used Varmint's Audio Tools version 0.6.
  219. VAT was written by Eric Jorgensen and based on ideas and a bit of code from
  220. Peter Sprenger's library called SOUNDX.  Eric has since expanded and improved
  221. greatly on the code.
  222.  
  223. -------------- PLANS --------------------------------
  224.  
  225. I'm considering adding the following features to NanoTech.
  226.  
  227. * elevator-like platforms
  228. * more levels
  229. * better music
  230. * time limit?
  231. * nanorobot energy and damage?
  232. * ???
  233.  
  234. ------------------------- THOUGHTS --------------------------------
  235.  
  236. Sure hope somebody gets a little enjoyment out of this game.  The
  237. graphics routines are the product of several years of work.
  238. I wish somebody had a free, good, fast, easy to use 3d graphics library
  239. that I could use because I would really like to concentrate on
  240. Artificially Intelligent critters instead.  I just kind of got side tracked.
  241. I am releasing the code so that others won't have to figure it
  242. all out for themselves.  I'm always happy to hear from others
  243. about computer game programming.
  244.  
  245.                            Sean Lane Fuller <fuller@edge.net>
  246.  
  247.